home *** CD-ROM | disk | FTP | other *** search
-
-
-
- PPPPEEEERRRRLLLLPPPPOOOODDDD((((1111)))) 22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222)))) PPPPEEEERRRRLLLLPPPPOOOODDDD((((1111))))
-
-
-
- NNNNAAAAMMMMEEEE
- perlpod - plain old documentation
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- A pod-to-whatever translator reads a pod file paragraph by
- paragraph, and translates it to the appropriate output
- format. There are three kinds of paragraphs: verbatim,
- command, and ordinary text.
-
- VVVVeeeerrrrbbbbaaaattttiiiimmmm PPPPaaaarrrraaaaggggrrrraaaapppphhhh
-
- A verbatim paragraph, distinguished by being indented (that
- is, it starts with space or tab). It should be reproduced
- exactly, with tabs assumed to be on 8-column boundaries.
- There are no special formatting escapes, so you can't
- italicize or anything like that. A \ means \, and nothing
- else.
-
- CCCCoooommmmmmmmaaaannnndddd PPPPaaaarrrraaaaggggrrrraaaapppphhhh
-
- All command paragraphs start with "=", followed by an
- identifier, followed by arbitrary text that the command can
- use however it pleases. Currently recognized commands are
-
- =head1 heading
- =head2 heading
- =item text
- =over N
- =back
- =cut
- =pod
- =for X
- =begin X
- =end X
-
-
- =pod
-
- =cut
- The "=pod" directive does nothing beyond telling the
- compiler to lay off parsing code through the next
- "=cut". It's useful for adding another paragraph to the
- doc if you're mixing up code and pod a lot.
-
- =head1
-
- =head2
- Head1 and head2 produce first and second level headings,
- with the text in the same paragraph as the "=headn"
- directive forming the heading description.
-
-
-
-
-
- Page 1 (printed 10/23/98)
-
-
-
-
-
-
- PPPPEEEERRRRLLLLPPPPOOOODDDD((((1111)))) 22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222)))) PPPPEEEERRRRLLLLPPPPOOOODDDD((((1111))))
-
-
-
- =over
-
- =back
-
- =item
- Item, over, and back require a little more explanation:
- "=over" starts a section specifically for the generation
- of a list using "=item" commands. At the end of your
- list, use "=back" to end it. You will probably want to
- give "4" as the number to "=over", as some formatters
- will use this for indentation. This should probably be
- a default. Note also that there are some basic rules to
- using =item: don't use them outside of an =over/=back
- block, use at least one inside an =over/=back block, you
- don't _have_ to include the =back if the list just runs
- off the document, and perhaps most importantly, keep the
- items consistent: either use "=item *" for all of them,
- to produce bullets, or use "=item 1.", "=item 2.", etc.,
- to produce numbered lists, or use "=item foo", "=item
- bar", etc., i.e., things that looks nothing like bullets
- or numbers. If you start with bullets or numbers, stick
- with them, as many formatters use the first "=item" type
- to decide how to format the list.
-
- =for
-
- =begin
-
- =end
- For, begin, and end let you include sections that are
- not interpreted as pod text, but passed directly to
- particular formatters. A formatter that can utilize that
- format will use the section, otherwise it will be
- completely ignored. The directive "=for" specifies that
- the entire next paragraph is in the format indicated by
- the first word after "=for", like this:
-
- =for html <br>
- <p> This is a raw HTML paragraph </p>
-
- The paired commands "=begin" and "=end" work very
- similarly to "=for", but instead of only accepting a
- single paragraph, all text from "=begin" to a paragraph
- with a matching "=end" are treated as a particular
- format.
-
- Here are some examples of how to use these:
-
- =begin html
-
- <br>Figure 1.<IMG SRC="figure1.png"><br>
-
-
-
-
- Page 2 (printed 10/23/98)
-
-
-
-
-
-
- PPPPEEEERRRRLLLLPPPPOOOODDDD((((1111)))) 22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222)))) PPPPEEEERRRRLLLLPPPPOOOODDDD((((1111))))
-
-
-
- =end html
-
- =begin text
-
- ---------------
- | foo |
- | bar |
- ---------------
-
- ^^^^ Figure 1. ^^^^
-
- =end text
-
- Some format names that formatters currently are known to
- accept include "roff", "man", "latex", "tex", "text",
- and "html". (Some formatters will treat some of these as
- synonyms.)
-
- And don't forget, when using any command, that the
- command lasts up until the end of the ppppaaaarrrraaaaggggrrrraaaapppphhhh, not the
- line. Hence in the examples below, you can see the empty
- lines after each command to end its paragraph.
-
- Some examples of lists include:
-
- =over 4
-
- =item *
-
- First item
-
- =item *
-
- Second item
-
- =back
-
- =over 4
-
- =item Foo()
-
- Description of Foo function
-
- =item Bar()
-
- Description of Bar function
-
- =back
-
-
-
-
-
-
-
- Page 3 (printed 10/23/98)
-
-
-
-
-
-
- PPPPEEEERRRRLLLLPPPPOOOODDDD((((1111)))) 22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222)))) PPPPEEEERRRRLLLLPPPPOOOODDDD((((1111))))
-
-
-
- OOOOrrrrddddiiiinnnnaaaarrrryyyy BBBBlllloooocccckkkk ooooffff TTTTeeeexxxxtttt
-
- It will be filled, and maybe even justified. Certain
- interior sequences are recognized both here and in commands:
-
- I<text> italicize text, used for emphasis or variables
- B<text> embolden text, used for switches and programs
- S<text> text contains non-breaking spaces
- C<code> literal code
- L<name> A link (cross reference) to name
- L<name> manual page
- L<name/ident> item in manual page
- L<name/"sec"> section in other manual page
- L<"sec"> section in this manual page
- (the quotes are optional)
- L</"sec"> ditto
- same as above but only 'text' is used for output.
- (Text can not contain the characters '|' or '>')
- L<text|name>
- L<text|name/ident>
- L<text|name/"sec">
- L<text|"sec">
- L<text|/"sec">
-
- F<file> Used for filenames
- X<index> An index entry
- Z<> A zero-width character
- E<escape> A named character (very similar to HTML escapes)
- E<lt> A literal <
- E<gt> A literal >
- (these are optional except in other interior
- sequences and when preceded by a capital letter)
- E<n> Character number n (probably in ASCII)
- E<html> Some non-numeric HTML entity, such
- as E<Agrave>
-
-
- TTTThhhheeee IIIInnnntttteeeennnntttt
-
- That's it. The intent is simplicity, not power. I wanted
- paragraphs to look like paragraphs (block format), so that
- they stand out visually, and so that I could run them
- through fmt easily to reformat them (that's F7 in my version
- of vvvviiii). I wanted the translator (and not me) to worry about
- whether " or ' is a left quote or a right quote within
- filled text, and I wanted it to leave the quotes alone,
- dammit, in verbatim mode, so I could slurp in a working
- program, shift it over 4 spaces, and have it print out, er,
- verbatim. And presumably in a constant width font.
-
- In particular, you can leave things like this verbatim in
- your text:
-
-
-
- Page 4 (printed 10/23/98)
-
-
-
-
-
-
- PPPPEEEERRRRLLLLPPPPOOOODDDD((((1111)))) 22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222)))) PPPPEEEERRRRLLLLPPPPOOOODDDD((((1111))))
-
-
-
- Perl
- FILEHANDLE
- $variable
- function()
- manpage(3r)
-
- Doubtless a few other commands or sequences will need to be
- added along the way, but I've gotten along surprisingly well
- with just these.
-
- Note that I'm not at all claiming this to be sufficient for
- producing a book. I'm just trying to make an idiot-proof
- common source for nroff, TeX, and other markup languages, as
- used for online documentation. Translators exist for
- ppppoooodddd2222mmmmaaaannnn (that's for _n_r_o_f_f(1) and _t_r_o_f_f(1)), ppppoooodddd2222tttteeeexxxxtttt,
- ppppoooodddd2222hhhhttttmmmmllll, ppppoooodddd2222llllaaaatttteeeexxxx, and ppppoooodddd2222ffffmmmm.
-
- EEEEmmmmbbbbeeeeddddddddiiiinnnngggg PPPPooooddddssss iiiinnnn PPPPeeeerrrrllll MMMMoooodddduuuulllleeeessss
-
- You can embed pod documentation in your Perl scripts. Start
- your documentation with a "=head1" command at the beginning,
- and end it with a "=cut" command. Perl will ignore the pod
- text. See any of the supplied library modules for examples.
- If you're going to put your pods at the end of the file, and
- you're using an __END__ or __DATA__ cut mark, make sure to
- put an empty line there before the first pod directive.
-
- __END__
-
- =head1 NAME
-
- modern - I am a modern module
-
- If you had not had that empty line there, then the
- translators wouldn't have seen it.
-
- CCCCoooommmmmmmmoooonnnn PPPPoooodddd PPPPiiiittttffffaaaallllllllssss
-
- +o Pod translators usually will require paragraphs to be
- separated by completely empty lines. If you have an
- apparently empty line with some spaces on it, this can
- cause odd formatting.
-
- +o Translators will mostly add wording around a L<> link,
- so that L<foo(1)> becomes "the _f_o_o(1) manpage", for
- example (see ppppoooodddd2222mmmmaaaannnn for details). Thus, you shouldn't
- write things like the L<foo> manpage, if you want the
- translated document to read sensibly.
-
- If you don need or want total control of the text used
- for a link in the output use the form L<show this
- text|foo> instead.
-
-
-
- Page 5 (printed 10/23/98)
-
-
-
-
-
-
- PPPPEEEERRRRLLLLPPPPOOOODDDD((((1111)))) 22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222)))) PPPPEEEERRRRLLLLPPPPOOOODDDD((((1111))))
-
-
-
- +o The script _p_o_d/_c_h_e_c_k_p_o_d_s._P_L in the Perl source
- distribution provides skeletal checking for lines that
- look empty but aren't oooonnnnllllyyyy, but is there as a
- placeholder until someone writes Pod::Checker. The best
- way to check your pod is to pass it through one or more
- translators and proofread the result, or print out the
- result and proofread that. Some of the problems found
- may be bugs in the translators, which you may or may not
- wish to work around.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- the _p_o_d_2_m_a_n manpage and the section on _P_O_D_s: _E_m_b_e_d_d_e_d
- _D_o_c_u_m_e_n_t_a_t_i_o_n in the _p_e_r_l_s_y_n manpage
-
- AAAAUUUUTTTTHHHHOOOORRRR
- Larry Wall
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 6 (printed 10/23/98)
-
-
-
-